package com.leador.map.location;

import android.content.Context;

/**
 * 定位管理器接口定义
 * @version 1.0
 */
public interface ILocationService {
    /**
     * 初始化定位管理器
     *
     * @param ctx 上下文
     */
    void init(Context ctx);

    /**
     * 设置使用/禁用GPS（仅在用户勾选了【位置和安全】中的【使用GPS卫星】时本设置有效， 在使用时会启动手机GPS设备）
     *
     * @param bUseGps 使用GPS-true,不使用-false
     */
    void setUseGps(boolean bUseGps);

    /**
     * 上传/停止上传ZIP压缩日志
     */
    void setUpZip(boolean bUp);

    /**
     * 设置使用/禁用缓存
     *
     * @param bUseCache 使用缓存-true，不适用-false
     */
    void setUseCache(boolean bUseCache);

    /**
     * 设置定位授权（格式为src##license##clientid）
     *
     * @param lic 授权
     */
    void setAuth(String lic);

    /**
     * 立即进行一次定位， 获取位置
     *
     * @return LocationInfo
     */
    LocationInfo getLocation() throws Exception;

    /**
     * 销毁定位相关资源
     */
    void destroy();

    /**
     * 获取定位插件版本
     *
     * @return String
     */
    String getVersion();
}